From: Lars Ingebrigtsen Date: Tue, 25 Jan 2022 13:55:26 +0000 (+0100) Subject: Improve how change-log-mode fills all-file-name lines X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1^2~5^2~16^2~3185 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=fb16a6c124c99a0e58dc8152b9a803c8a28e2436;p=emacs.git Improve how change-log-mode fills all-file-name lines * lisp/vc/add-log.el (change-log-fill-file-list): New function to improve how we fill all-file-name ChangeLog lines (bug#19341). (change-log-indent): Use it. --- diff --git a/lisp/vc/add-log.el b/lisp/vc/add-log.el index e9a21825e18..beaad2e835f 100644 --- a/lisp/vc/add-log.el +++ b/lisp/vc/add-log.el @@ -1068,8 +1068,23 @@ the change log file in another window." (insert-before-markers "(")) (error nil))))) +;; If we're filling a line that has a whole bunch of file names, and +;; we're still in the file names, then transform this so that it'll +;; still font-lock properly. +(defun change-log-fill-file-list () + (save-excursion + (unless (bobp) + (forward-line -1) + (when (looking-at change-log-file-names-re) + (goto-char (match-end 0)) + (while (looking-at "\\=, \\([^ ,:([\n]+\\)") + (goto-char (match-end 0))) + (when (looking-at ", *\n") + (replace-match ":\n *" t t)))))) + (defun change-log-indent () (change-log-fill-parenthesized-list) + (change-log-fill-file-list) (let* ((indent (save-excursion (beginning-of-line)